package com.kurt.dto.update;

import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 车辆更新请求DTO
 * 用于接收更新车辆的请求参数
 */
@Data
public class VehicleUpdateRequest extends BaseUpdate {

    /**
     * 车辆ID
     */
    @NotNull(message = "车辆ID不能为空")
    private Long id;

    /**
     * 车牌号
     */
    private String licensePlate;

    /**
     * SIM卡号
     */
    private String simCardNo;

    /**
     * 终端ID
     */
    private String deviceId;

    /**
     * 设备类型
     */
    private String deviceType;

    /**
     * 车辆类型
     */
    private String vehicleType;

    /**
     * 组织ID
     */
    private Long organizationId;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 车辆扩展信息
     */
    private VehicleExtensionUpdateRequest vehicleExtension;

    /**
     * 车辆扩展信息更新请求DTO
     */
    @Data
    public static class VehicleExtensionUpdateRequest {

        /**
         * 品牌
         */
        private String brand;

        /**
         * 型号
         */
        private String model;

        /**
         * 颜色
         */
        private String color;

        /**
         * 年份
         */
        private Integer year;

        /**
         * 排序
         */
        private Integer sortOrder;

        /**
         * 里程数
         */
        private java.math.BigDecimal mileage;

        /**
         * 所属组织ID
         */
        private Long organizationId;

        /**
         * 自定义字段1
         */
        private String customField1;

        /**
         * 自定义字段2
         */
        private String customField2;

        /**
         * 自定义字段3
         */
        private String customField3;
    }
}
